import "dotenv/config";
// 数据库配置对象
const dbConfig = {
  // 数据库主机地址 (MYSQL_HOST, 默认: localhost)
  db_host: process.env.MYSQL_HOST || "localhost",
  // 数据库端口 (MYSQL_PORT, 默认: 3306)
  db_port: process.env.MYSQL_PORT || 3306,
  // 数据库用户名 (MYSQL_USER, 默认: root)
  db_user: process.env.MYSQL_USER || "root",
  // 数据库密码 (MYSQL_PWD, 默认: 空)
  db_pwd: process.env.MYSQL_PWD || "",
  // 数据库名称 (MYSQL_DB, 默认: example_db)
  db_name: process.env.MYSQL_DB || "example_db",

  // 连接池配置
  pool: {
    // 最大连接数 (MYSQL_POOL_MAX, 默认: 10)
    max: Number(process.env.MYSQL_POOL_MAX) || 10,
    // 最小空闲连接数 (MYSQL_POOL_MIN, 默认: 0)
    min: Number(process.env.MYSQL_POOL_MIN) || 0,
    // 获取超时时间(ms) (MYSQL_POOL_ACQUIRE, 默认: 30000)
    acquire: Number(process.env.MYSQL_POOL_ACQUIRE) || 30000,
    // 空闲超时时间(ms) (MYSQL_POOL_IDLE, 默认: 10000)
    idle: Number(process.env.MYSQL_POOL_IDLE) || 10000,
  },

  // 日志开关 (MYSQL_LOGGING, 默认: 开发环境开启)
  logging:
    process.env.MYSQL_LOGGING === "true" ||
    (process.env.MYSQL_LOGGING === undefined &&
      process.env.NODE_ENV !== "production"),

  // 连接保活开关 (MYSQL_KEEP_ALIVE, 默认: true)
  enableKeepAlive: process.env.MYSQL_KEEP_ALIVE !== "false",

  // 保活初始延迟(ms) (DB_KEEP_ALIVE_DELAY, 默认: 10000)
  keepAliveInitialDelay: Number(process.env.DB_KEEP_ALIVE_DELAY) || 10000,
};

export default dbConfig;
